15、用xlwings读写检查工作簿是否已打开,否则出现错误
import xlwings as xw
import os
def get_workbook(file_path):
"""智能获取工作簿:已打开则连接,未打开则打开"""
try:
# 尝试通过文件名直接连接已打开的工作簿
file_name = os.path.basename(file_path)
wb = xw.books[file_name] # 根据文件名匹配
return wb
except (KeyError, xw.XlwingsError):
# 未找到则打开工作簿(自动附加到现有Excel实例或启动新实例)
return xw.Book(file_path)
target_file1 = os.path.join(r"E:\韦瑞奎\B3盛凌新OA流程报价\202503060089", "1.成本分析模板(新).xlsb")
# 获取工作簿
wb1 = get_workbook(target_file1)
返回:
<Book [1.成本分析模板(新).xlsb]>